Touch sensor gesture recognition for operation of mobile devices

ABSTRACT

Touch sensor gesture recognition for operation of mobile devices. An embodiment of a mobile device includes a touch sensor for the detection of gestures, the touch sensor including multiple sensor elements, and a processor, the processor to interpret the gestures detected by the touch sensor, where the mobile device divides the plurality of sensor elements into multiple zones, and the mobile device interprets the gestures based at least in part on which of the zones detects the gesture. An embodiment of a mobile device includes a touch sensor for the detection of gestures, the touch sensor including multiple sensor elements, and a processor, the processor to interpret the gestures detected by the touch sensor, where the processor is to identify one or more dominant actions for an active application or a function of the active application and is to choose a gesture identification algorithm from a plurality of gesture recognition algorithms based at least in part on identified one or more dominant actions, and is to determine a first intended action of a user based on an interpretation of a first gesture using the chosen gesture identification algorithm. An embodiment of a mobile device includes a touch sensor for the detection of gestures, the touch sensor including multiple sensor elements, and a processor, the processor to interpret the gestures detected by the touch sensor, and a mapping between touch sensor data and actual positions of user gestures, the mapping of data being generated by an artificial neural network, where the processor utilizes the mapping at least in part to interpret the gestures.

TECHNICAL FIELD

Embodiments of the invention generally relate to the field of electronicdevices and, more particularly, to a method and apparatus for touchsensor gesture recognition for operation of mobile devices.

BACKGROUND

Mobile devices, including cellular phones, smart phones, mobile Internetdevices (MIDs), handheld computers, personal digital assistants (PDAs),and other similar devices, provide a wide variety of applications forvarious purposes, including business and personal use.

A mobile device requires one or more input mechanisms to allow a user toinput instructions and responses for such applications. As mobiledevices become smaller yet more full-featured, a reduced number of userinput devices (such as switches, buttons, trackballs, dials, touchsensors, and touch screens) are used to perform an increasing number ofapplication functions.

However, conventional input devices are limited in their ability toaccurately reflect the variety of inputs that are possible with complexmobile devices. Conventional device inputs may respond inaccurately orinflexibly to inputs of users, thereby reducing the usefulness and userfriendliness of mobile devices.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention are illustrated by way of example, and notby way of limitation, in the figures of the accompanying drawings inwhich like reference numerals refer to similar elements.

FIG. 1 is an illustration of an embodiment of a mobile device;

FIG. 2 is an illustration of embodiments of touch sensors that may beincluded in a mobile device;

FIG. 3 is an illustration of an embodiment of a process forpre-processing of sensor data;

FIG. 4 is an illustration of embodiments of touch sensors with multiplezones in a mobile device;

FIGS. 5A and 5B are flowcharts to illustrate embodiments of a processfor dividing and utilizing a touch sensor with multiple zones;

FIG. 6 is a diagram to illustrate an embodiment including selection ofgesture identification algorithms;

FIG. 7 is a flowchart to illustrate an embodiment of a process forgesture recognition;

FIG. 8 is an illustration of an embodiment of a system for mappingsensor data with actual gesture movement;

FIG. 9 is a flow chart to illustrate an embodiment of a process forgenerating map data for gesture identification;

FIG. 10 is a flow chart to illustrate an embodiment of a process forutilizing map data by a mobile device in identifying gestures; and

FIG. 11 illustrates an embodiment of a mobile device.

DETAILED DESCRIPTION

Embodiments of the invention are generally directed to touch sensorgesture recognition for operation of mobile devices.

As used herein:

“Mobile device” means a mobile electronic device or system including acellular phone, smart phone, mobile Internet device (MID), handheldcomputers, personal digital assistants (PDAs), and other similardevices.

“Touch sensor” means a sensor that is configured to provide inputsignals that are generated by the physical touch of a user, including asensor that detects contact by a thumb or other finger of a user of adevice or system.

In some embodiments, a mobile device includes a touch sensor for theinput of signals. In some embodiments, the touch sensor includes aplurality of sensor elements. In some embodiments, a method, apparatus,or system provides for:

(1) A zoned touch sensor for multiple, simultaneous user interfacemodes.

(2) Selection of a gesture identification algorithm based on anapplication.

(3) Neural network optical calibration of a touch sensor.

In some embodiments, a mobile device includes an instrumented surfacedesigned for manipulation via a finger of a mobile user. In someembodiments, the mobile device includes a sensor on a side of a devicethat may especially be accessible by a thumb (or other finger) of amobile device user. In some embodiments, the surface of a sensor may bedesigned in any shape. In some embodiments, the sensor is constructed asan oblong intersection of a saddle shape. In some embodiments, the touchsensor is relatively small in comparison with the thumb used to engagethe touch sensor.

In some embodiments, instrumentation for a sensor is accomplished viathe use of capacitance sensors and/or optical or other types of sensorsembedded beneath the surface of the device input element. In someembodiments, these sensors are arranged in one of a number of possiblepatterns in order to increase overall sensitivity and signal accuracy,but may also be arranged to increase sensitivity to different operationsor features (including, for example, motion at an edge of the sensorarea, small motions, or particular gestures). Many different sensorarrangements for a capacitive sensor are possible, including, but notlimited to, the sensor arrangements illustrated in FIG. 2 below.

In some embodiments, sensors include a controlling integrated circuitthat is interfaced with the sensor and designed to connect to a computerprocessor, such as a general-purpose processor, via a bus, such as astandard interface bus. In some embodiments, sub-processors arevariously connected to a computer processor responsible for collectingsensor input data, where the computer processor may be a primary CPU ora secondary microcontroller, depending on the application. In someembodiments, sensor data may pass through multiple sub-processors beforethe data reaches the processor that is responsible for handling allsensor input.

FIG. 1 is an illustration of an embodiment of a mobile device. In someembodiments, the mobile device 100 includes a touch sensor 102 for inputof commands by a user using certain gestures. In some embodiments, thetouch sensor 102 may include a plurality of sensor elements. In someembodiments, the plurality of sensor elements includes a plurality ofcapacitive sensor pads. In some embodiments, the touch sensor 102 mayalso include other sensors, such as an optical sensor. See, U.S. patentapplication Ser. No. 12/650,582, filed Dec. 31, 2009 (Optical CapacitiveThumb Control With Pressure Sensor); U.S. patent application Ser. No.12/646,220, filed Dec. 23, 2009 (Contoured Thumb Touch SensorApparatus). In some embodiments, raw data is acquired by the mobiledevice 100 from one or more sub-processors 110 and the raw data iscollected into a data buffer 108 of a processor, such as main processor(CPU) 114 such that all sensor data can be correlated with each sensorin order to process the signals. The device may also include, forexample, a coprocessor 116 for computational processing. In someembodiments, an example multi-sensor system utilizes an analog todigital converter (ADC) element or circuit 112, wherein the ADC 112 maybe designed for capacitive sensing in conjunction with an optical sensordesigned for optical flow detection, wherein both are connected to themain processor via different busses. In some embodiments, the ADC 112 isconnected via an I2C bus and an optical sensor is connected via a USBbus. In some embodiments, alternative systems may include solely the ADCcircuit and its associated capacitive sensors, or solely the opticalsensor system.

In some embodiments, in a system in which data is handled by a primaryCPU 114, the sensor data may be acquired by a system or kernel processthat handles data input before handing the raw data to another system orkernel process that handles the data interpretation and fusion. In amicrocontroller or sub-processor based system, this can either be adedicated process or timeshared with other functions.

The mobile device may further include, for example, one or moretransmitters and receivers 106 for the wireless transmission andreception of data, as well as one or more antennas 104 for such datatransmission and reception; a memory 118 for the storage of data; a userinterface 120, including a graphical user interface (GUI), forcommunications between the mobile device 100 and a user of the device; adisplay circuit or controller 122 for providing a visual display to auser of the mobile device 100; and a location circuit or element,including a global positioning system (GPS) circuit or element 124.

In some embodiments, raw data is time tagged as it enters into thedevice or system with sufficient precision so that the raw data can bothbe correlated with data from another sensor, and so that any jitter inthe sensor circuit or acquisition system can be accounted for in theprocessing algorithm. Each set of raw data may also have apre-processing algorithm that accounts for characteristic noise orsensor layout features which need to be accounted for prior to thegeneral algorithm.

In some embodiments, a processing algorithm then processes the data fromeach sensor set individually and (if more than one sensor type ispresent) fuses the data in order to generate contact, positioninformation, and relative motion. In some embodiments, relative motionoutput may be processed through a ballistics/acceleration curve to givethe user fine control of motion when the user is moving the pointerslowly. In some embodiments, a separate processing algorithm uses thecalculated contact and position information along with the raw data inorder to recognize gestures. In some embodiments, gestures that thedevice or system may recognize include, but are not limited to: fingertaps of various duration, swipes in various directions, and circles(clockwise or counter-clockwise). In some embodiments, a device orsystem includes one or more switches built into a sensor element ormodule together with the motion sensor, where the sensed position of theswitches may be directly used as clicks in control operation of themobile device or system.

In some embodiments, the output of processing algorithms and anyauxiliary data is available for usage within a mobile device or systemfor operation of user interface logic. In some embodiments, the data maybe handled through any standard interface protocol, where exampleprotocols are UDP (User Datagram Protocol) socket, Unix™ socket, D-Bus(Desktop Bus), and UNIX/dev/input device.

FIG. 2 is an illustration of embodiments of touch sensors that may beincluded in a mobile device. In some embodiments, a touch sensor mayinclude any pattern of sensor elements, such as capacitive sensors, thatare utilized in the detection of gestures. In some embodiments, thetouch sensor may include one or more other sensors to assist in thedetection of gestures, including, for example, an optical sensor.

In this illustration, a first touch sensor 200 may include a pluralityof oval capacitive sensors 202 (twelve in sensor 200) in a particularpattern, together with a centrally placed optical sensor 206. A secondsensor 210 may include similar oval capacitive sensors 212 with nooptical sensor in the center region 214 of the sensor 210.

In this illustration, a third touch sensor 220 may include a pluralityof diamond-shaped capacitive sensors 222 in a particular pattern,together with a centrally placed optical sensor 226. A fourth sensor 230may include similar diamond-shaped capacitive sensors 232 with nooptical sensor in the center region 234 of the sensor 230.

In this illustration, a fifth touch sensor 240 may include a pluralityof capacitive sensors 242 separated by horizontal and verticalboundaries 241, together with a centrally placed optical sensor 246. Asixth sensor 250 may include similar capacitive sensors 252 as the fifthsensor with no optical sensor in the center region 254 of the sensor250.

In this illustration, a seventh touch sensor 260 may include a pluralityof vertically aligned oval capacitive sensors 262, together with acentrally placed optical sensor 266. An eighth sensor 270 may includesimilar oval capacitive sensors 272 with no optical sensor in the centerregion 276 of the sensor 270.

FIG. 3 is an illustration of an embodiment of a process forpre-processing of sensor data. In this illustration, the position of athumb (or other finger) on a sensor 305 results in signals generated byone or more capacitive sensors or other digitizers 310, such signalsresulting in a set of raw data 315 for preprocessing. If a system ordevice includes a co-processor 320, then preprocessing may beaccomplished utilizing the co-processor 325. Otherwise, thepreprocessing may be accomplished utilizing the main processor of thesystem or device 330. In either case, the result is a set ofpreprocessed data for processing in the system or device 340. Thepreprocessing of the raw data may include a number of functions totransform data into more easily handled formats 335, including, but notlimited to, data normalization, time tagging to correlate datameasurements with event times, and imposition of a smoothing filter tosmooth abrupt changes in values. While preprocessing of raw data asillustrated in FIG. 3 is not provided in the other figures, suchpreprocessing may apply in the processes and apparatuses provided in theother figures and in the descriptions of such processes and apparatuses.

Zoned Touch Sensor for Multiple, Simultaneous User Interface Modes

In some embodiments, a device or system divides the touch sensing areaof a touch sensor on a mobile device into multiple discrete zones andassigns distinct functions to inputs received in each of the zones. Insome embodiments, the number, location, extent and assignedfunctionality of the zones may be configured by the application designeror reconfigured by the user as desired. In some embodiments, thedivision of the touch sensor into discrete zones allows the single touchsensor to emulate the functionality of multiple separate input devices.In some embodiments, the division may be provided for a particularapplication or portion of an application, while other applications maybe subject to no division of the touch sensor or to a different divisionof the touch sensor.

In one exemplary embodiment, a touch sensor is divided into a top zone,a middle zone, and bottom zone, and the inputs in each zone are assignedto control different functional aspects of, for example, a dual-camerazoom system. In this example, inputs (such as taps by a finger of a useron the touch sensor) within the top zone toggle the system betweenautomatic and manual focus; inputs within the middle zone (such as tapson the touch sensor) operate the camera, initiating image capture; andinputs within the bottom zone operate the zoom function. For example, anupward movement in the bottom zone could zoom inward and a downwardmovement in the bottom zone could zoom outward. In other embodiments, atouch sensor may be divided into any number of zones for differentfunctions of an application.

FIG. 4 is an illustration of embodiments of touch sensors with multiplezones in a mobile device. In this illustration, a touch sensor, such as,for example, touch sensor 200 including multiple capacitive sensors 202and optical sensor 206 or touch sensor 210 including multiple capacitivesensors 212 having a center region 214 that does not include an opticalsensor, is divided into multiple zones. In this particular example, thetouch sensor 200, 210 are divided into three zones, the zones being afirst zone 410 being the upper portion of the touch sensor, a secondzone 420 being the middle portion of the touch sensor, and a third zone430 being the lower portion of the touch sensor. In some embodiments,gestures, such as taps or motions, may be interpreted as havingdifferent meanings in each of the three zones, such as, for example, themeanings assigned for a camera function described above.

In some embodiments, continuous, moving contacts with the touch sensor(for example, gestures such as swipes along the touch sensor) that crossfrom one zone to another, such as crossing between zone 1 410 and zone 2420, or between zone 2 420 and zone 3 430, may be handled in one ofseveral ways. In a first approach, a mobile device may operate such thatany gesture commencing in one region and finishing in another isignored. In a second approach, a mobile device may be operated such thatany gesture commencing in one region and finishing in another region isdivided into two separate gestures, one in each zone, with each of thetwo gestures interpreted as appropriate for each zone. In addition, theexistence of a “neutral” region (a dead space in the touch sensor)between adjacent zones in a touch sensor of a mobile device may beutilized to reduce the likelihood that a user will unintentionallycommence a gesture in one region and finish the gesture in another.

FIGS. 5A and 5B are flowcharts to illustrate embodiments of a processfor dividing and utilizing a touch sensor with multiple zones. Asillustrated in FIG. 5A, in some embodiments, an application or a portionof an application is provided on a mobile device 502. In someembodiments, an application may be designed to provide for division of atouch sensor, and in some embodiments the division of a touch sensor mayresult from commands received from a user of the mobile device or othercommand source. In this illustration, the mobile device receives userinput requesting division of the touch sensor for one or moreapplications or functions 504. In some embodiments, the mobile devicemay allow for dynamic modification of the division of the touch sensoras needed by the user.

If the touch sensor of a mobile device has not been divided into zones506, then the mobile device may operate to interpret gestures in thesame manner for all portions of the touch sensor 508. If the touchsensor is divided into zones 506, then the mobile device may interpretdetected gestures according to the zone within which the gesture isdetected 510.

FIG. 5B illustrates embodiments of processes for a mobile deviceinterpreting detected gestures according to the zone within which thegesture is detected 510. Upon the detection of a gesture with a zonedtouch sensor 512, if the detected gesture is performed solely within asingle zone of the touch sensor 514, then the gesture is interpreted asdefined for the zone of the touch sensor within which the gesture occurs516. If the detected gesture is not performed within a single zone ofthe touch sensor 514, such as when a finger swipe crosses multiple zonesof the touch sensor, then the gesture may be interpreted in a matterthat is appropriate for a gesture occurring in multiple zones 518. Inone example, the gesture may be ignored on the assumption that the userperformed the gesture in error, with no action being taken 520. Inanother example, the gesture may be interpreted as separate gestureswithin each of the multiple zones 522. For example, a finger swipe frompoint A in zone 1 to point B in zone 2 may be interpreted as a firstswipe in zone 1 from point A to the crossing point along the boundarybetween zone 1 and zone 2, and a second swipe in zone 2 from thecrossing point along the boundary between zone 1 and zone 2 to point B.

Selection of Gesture Identification Algorithm Based on Application

In some embodiments, a mobile device provides for selecting a gesturerecognition algorithm with characteristics that are suited for aparticular application.

Mobile devices having user interfaces incorporating a touch sensor mayhave numerous techniques available for processing the contact, location,and movement information detected by the touch sensor to identifygestures corresponding to actions to be taken within the controlledapplication. Selection of a single technique for gesture recognitionrequires analysis of tradeoffs because each technique may have certainstrengths and weaknesses, and certain techniques thus may be better atidentifying some gestures than others. Correspondingly, the applicationsrunning on a mobile device may vary in their need for robust, precise,and accurate identification of particular gestures. For example, aparticular application may require extremely accurate identification ofa panning gesture, but be highly tolerant of a missed tapping gesture.

In some embodiments, a system operating on a mobile device selects agesture recognition algorithm from among a set of available gesturerecognition algorithms for a particular application. In someembodiments, the mobile device makes such selection on a real-time basisin the operation of the mobile device.

In some embodiments, a system on a mobile device selects a gesturealgorithm based on the nature of the current application. In someembodiments, the system on a mobile device operates on the premise thateach application operating on the mobile device (for example, a contactlist, a picture viewer, a desktop, or other application) may becharacterized by one or more “dominant” actions (where the dominantactions may be, for example, the most statistically frequent actions, orthe most consequential actions), where each such dominant action isinvoked by a particular gesture. In some embodiments, a system on amobile device selects a particular gesture algorithm in order toidentify the corresponding gestures robustly, precisely, and accurately.

In an example, for a contact list application, the dominant actions maybe scrolling and selection, where such actions may be invoked by swipingand tapping gestures on the touch sensor of a mobile device. In someembodiments, when the contact list application is the active applicationfor a mobile device, the system or mobile device invokes a gestureidentification algorithm that can effectively identify both swiping andtapping gestures. In this example, the chosen gesture identificationalgorithm may be less effective at identifying other gestures, such ascorner-to-corner box selection and “lasso” selection, that are notdominant gestures for the application. In some embodiments, if a pictureviewer is the active application, a system or mobile device invokes agesture identification algorithm that can effectively identify two-pointseparation and two-point rotation gestures corresponding to zooming androtating actions, where such gestures are dominant gestures of thepicture viewer application.

In some embodiments, a system or mobile device may select a gestureidentification algorithm based on one or more specific single actionsanticipated within a particular application. In an example, upon loadinga contact lists application, a system or mobile device may first invokea gesture algorithm that most effectively identifies swiping gesturescorresponding to a scrolling action, on the assumption that a user willfirst scroll the list to find a contact of interest. Further in thisexample, after scrolling has, for example, ceased for a certain periodof time, the system or mobile device may invoke a gesture identificationalgorithm that most effectively identifies tapping gesturescorresponding to a selection action, on the assumption that once theuser has scrolled this list to a desired location, the user will selecta particular contact of interest.

FIG. 6 is a diagram to illustrate an embodiment including selection ofgesture identification algorithms. In some embodiments, a mobile devicemay have a plurality of gesture identification algorithms available,including, for example, a first algorithm 620, a second algorithm 622,and a third algorithm 624. Applications that operate on the mobiledevice may have one or more dominant actions for the application or forcertain functions of the application. In some embodiments, the mobiledevice selects a gesture identification algorithm for each applicationor function. In some embodiments, the mobile device chooses the gestureidentification algorithm based at least in part on which of thealgorithms provides better functionality in identifying the gestures forthe one or more dominant actions of the application or function.

In this illustration, a first application 602 has one or more dominantactions 604, where such dominant actions are better handled by the firstalgorithm 620. Further, a second application 606 has one or moredominant actions 608, where such dominant actions are better handled bythe second algorithm 622. A third application 610 may include multiplefunctions or subparts, where the dominant actions of the functions orsubparts may differ. For example, a first function 612 has one or moredominant actions 614, where such dominant actions are better handled bythe third algorithm 624 and a second function 616 has one or moredominant actions 618, where such dominant actions are better handled bythe second algorithm 622.

As illustrated by FIG. 6, a certain set of touch sensor data 630 may becollected in connection with a gesture made in the operation of thefirst application 602. The touch sensor data 630 may includepre-processed data 340, as illustrated in FIG. 3. In some embodiments,the mobile device utilizes the first algorithm 620 for theidentification of gestures because such algorithm is the betteralgorithm for identification of gestures corresponding to the dominantactions 604 for the first application 602. In some embodiments, the useof the algorithm with the collected data results in an interpretation ofthe gesture 632 and determination of the corresponding action 634 forthe application. In some embodiments, the mobile device then carries outthe action 636 in the context of the first application 602.

FIG. 7 is a flowchart to illustrate an embodiment of a process forgesture recognition. In some embodiments, an application is loaded on amobile device 702 and the one or more dominant actions for the currentapplication or for the current function of the application areidentified 704. In some embodiments, the mobile device determines agesture identification algorithm based at least in part on the dominantactions of the current application or function 706. In some embodiments,if there is a change in the current active application or function 708,then the mobile device may again identify the one or more dominantactions for the current application or for the current function of theapplication 704 and determine a gesture identification algorithm basedat least in part on the dominant actions 706.

In some embodiments, if gesture is detected 710, then the mobile deviceoperates to identify the gesture using the currently chosen gestureidentification algorithm 712 and thereby determine the intended actionof the user of the mobile device 714. The mobile device may thenimplement the intended action in the context of the current applicationor function 716.

Neural Network Optical Calibration of Capacitive Thumb Sensor

In some embodiments, a system or mobile device provides for calibrationof a touch sensor, where the calibration includes a neural networkoptical calibration of the touch sensor.

Many capacitive touch sensing surfaces operate based on “centroid”algorithms, which take a weighted average of a quantity derived from theinstantaneous capacitance reported by each capacitive sensor padmultiplied by that capacitive sensor pad's position in space. In suchalgorithms, the resulting quantity for a touch sensor operated with auser's thumb (or other finger) is a capacitive “barycenter” for thethumb, which may either be treated as the absolute position of the thumbor differentiated to provide relative motion information as would amouse.

For a sensor operated by a user's thumb (or other finger), however, thebiomechanics of the thumb may lead to an apparent mismatch between theuser's expectation of pointer motion and the measured barycenter forsuch motion. In particular, as the thumb is extended through its fullmotion in a gesture of a capacitive touch sensor, the tip of the thumbgenerally lifts away from the surface of the capacitive sensors. In acentroid-based capacitive sensor algorithm, this yields an apparent(proximal) shift in the calculated position of the thumb while the usergenerally expects that the calculated position will continue to trackthe distal extension of the thumb. Thus, instead of tracking the user'sperceived position of the finger tip, the centroid algorithm will“roll-back” along the proximodistal axis (the axis running from the tipof the thumb to the basal joint joining the thumb to the hand).

Additionally, the small size of the touch sensor relative to the thumbpresents additional challenges. In a thumb sensor consisting of aphysically small array of capacitive elements, many of the elements aresimilarly affected by the thumb at any given thumb position.

Collectively, these two phenomena make it exceedingly challenging toconstruct a mapping from capacitive sensor readings to calculated thumbpositions that matches the user's expectations. In practice, traditionalapproaches, including hand-formulated functions with adjustableparameters and use of a non-linear optimizer (for example, theLevenberg-Marquardt algorithm) are generally unsuccessful.

In some embodiments, a system or apparatus provides an effectivetechnique for generating a mapping between capacitive touch sensormeasurements and calculated thumb positions.

In some embodiments, a system or apparatus uses an optical calibrationinstrument to determine actual thumb (or other finger) positions. Insome embodiments, the actual thumb positions and the contemporaneouscapacitive sensor data are provided to an artificial neural network(ANN) during a training procedure. An ANN in general is a mathematicalor computational model to simulate the structure and/or functionalaspects of biological neural networks, such as a system of programs anddata structures that approximates the operation of the human brain. Insome embodiments, a resulting ANN provides a mapping between thecapacitive sensor data from the touch sensor and the actual thumbpositions (which may be two-dimensional (2D, which may be expressed as aposition in x-y coordinates) or three-dimensional (3D, which may beexpressed as x-y-z coordinates), depending on the interface requirementsof the device software) in performing gestures. In some embodiments, amobile device may use the resulting mapping between capacitive sensordata and actual thumb positions during subsequent operation of thecapacitive thumb sensor.

In some embodiments, an optical calibration instrument may be a 3Dcalibration rig or system, such as a system similar to those commonlyused by computer vision scientists to obtain precise measurements ofphysical objects. The uncertainties in the measurements provided by sucha rig or system are presumably small, with the ANN training procedurebeing resilient to any remaining noise in the training data. However,embodiments are not limited to any particular optical calibrationsystem.

In some embodiments, the inputs to the ANN may be raw capacitive touchsensor data. In some embodiments, the inputs to the ANN mayalternatively include historical sensor data quantities derived frompast measurements of the capacitive touch sensors. In some embodiments,the training procedure for the ANN implements a nonparametricregression, that is, the training procedure for the ANN does not merelydetermine parameters within a predetermined functional form butdetermines the functional form itself.

In some embodiments, an ANN may be utilized to provide improvedperformance in comparison with manually generated mappings for“pointing” operations, such as cursor control. An ANN is generally adeptat interpreting touch sensor measurements that would be difficult orimpossible for a programmer to anticipate and handle within handwrittencode. An ANN-based approach can successfully develop mappings for a widevariety of arrangements of capacitive sensor pads on a sensor surface.In particular, ANNs may operate to readily accept measurements fromlarger electrodes (as compared to the size of the thumb) arrayed in anirregular shape (such as a non-grid arrangement), thereby extractingimproved (over handwritten code) position estimates from potentiallyambiguous capacitive measurements. In some embodiments, the ANN trainingprocedure and operation may also be extended to other sensorconfigurations, including sensor fusion approaches, such as hybridcapacitive and optical sensors.

FIG. 8 is an illustration of an embodiment of a system for developing amapping between touch sensor data and actual thumb (or other finger)positions. In some embodiments, a sequence of predetermined calibrationgestures (providing a range of thumb positions attained during typicaldevice operation) are performed by a user's thumb 804 on the touchsensor of a mobile device 802, and the position of the thumb throughtime is measured by a system such as an optical imaging system 806. Theoptical imaging system 806 may include a 3D system that measurespositions in 3D space. In some embodiments, the position data 808generated by the optical imaging system 806 and capacitive sensor data810 generated by the touch sensor of the mobile device 802 (which mayinclude preprocessed data 340 as provided in FIG. 3) are provided to oneor more artificial neural networks 811 for analysis. In someembodiments, the one or more neural networks 811 include a first neuralnetwork 812 to generate a mapping between the sensor data and actualposition data 816. In some embodiments, the one or more neural networksinclude a second neural network 814 to generate a mapping between thesensor data and certain discrete gestures 818. In some embodiments, asingle neural network may provide both of these neural networkoperations. In some embodiments, the sensor data generated by the mobiledevice 802 may include sensor data from other sensors, such an opticalsensor included in the touch sensor. In some embodiments, the sensordata from other sensors may also be provided to the one or moreartificial neural networks 811. In some embodiments, the mapping 816,818 is provided as mapping data 822 in some form to a mobile device 820,such as during the construction or programming of the mobile device 820.In some embodiments, the mobile device 820 utilizes the mapping data 822in interpreting gestures in order to determine the actual gesturesintended by users of the mobile device.

FIG. 9 is a flow chart to illustrate an embodiment of a process forgenerating a mapping between touch sensor data and actual thumb (orother finger) positions. As noted above, in some embodiments, acalibration sequence may be conducted, including the performance ofcertain common gestures used for the operation and control of a mobiledevice 902. In some embodiments, measurements of the position of thethumb through time are made, such as by performance of optical imagingusing an optical imaging system, and the position data from the opticalimaging is collected 904. In some embodiments, the capacitive sensordata from the touch sensor of the mobile device is also collected 906.In some embodiments, data may be processed as shown in FIG. 3. In someembodiments, such data is provided to one or more artificial neuralnetworks 910. In some embodiments, an artificial neural network (a firstartificial neural network) generates a mapping between the touch sensordata and the actual positioning of the thumb in the calibration sequence912. In some embodiments, an artificial neural network (which may besecond artificial neural network or may be the first artificial network)receiving raw data over time may further generate a mapping between thetouch sensor data and discrete gestures that are performed 914. In someembodiments, the mapping data, which may include a mapping betweensensor data and actual positions, a mapping between sensor data anddiscrete gestures, or both, is provided to a mobile device 916 for usein a process for interpreting detected gestures.

FIG. 10 is a flow chart to illustrate an embodiment of a process forutilizing mapping data by a mobile device in identifying gestures. Insome embodiments, the touch sensor of a mobile device detects a gesturewith a touch sensor of a mobile device and collects touch sensor datafor the gesture 1002. In some embodiments, mapping data between sensordata and actual positioning of a thumb (or other finger), mapping databetween sensor data and discrete gestures, or both, generated using oneor more artificial neural networks, is used to determine the actualthumb (or finger) position, a discrete gesture, or both 1006. In someembodiments, data may be preprocessed as provided in FIG. 3. In someembodiments, the actual thumb positions are interpreted using a separategesture identification algorithm 1008 to identify a gesture anddetermine a corresponding intended action of the user of the mobiledevice 1010. In some embodiments, the mobile device then implements theintended action on the mobile device in the context of the currentapplication or function 1012.

FIG. 11 illustrates an embodiment of a mobile device. In thisillustration, certain standard and well-known components that are notgermane to the present description are not shown. Under someembodiments, the mobile device 1100 comprises an interconnect orcrossbar 1105 or other communication means for transmission of data. Thedevice 1100 may include a processing means such as one or moreprocessors 1110 coupled with the interconnect 1105 for processinginformation. The processors 1110 may comprise one or more physicalprocessors and one or more logical processors. The interconnect 1105 isillustrated as a single interconnect for simplicity, but may representmultiple different interconnects or buses and the component connectionsto such interconnects may vary. The interconnect 1105 shown in FIG. 11is an abstraction that represents any one or more separate physicalbuses, point-to-point connections, or both connected by appropriatebridges, adapters, or controllers.

In some embodiments, the device 1100 further comprises a random accessmemory (RAM) or other dynamic storage device or element as a main memory1115 for storing information and instructions to be executed by theprocessors 1110. Main memory 1115 also may be used for storing data fordata streams or sub-streams. RAM memory includes dynamic random accessmemory (DRAM), which requires refreshing of memory contents, and staticrandom access memory (SRAM), which does not require refreshing contents,but at increased cost. DRAM memory may include synchronous dynamicrandom access memory (SDRAM), which includes a clock signal to controlsignals, and extended data-out dynamic random access memory (EDO DRAM).In some embodiments, memory of the system may include certain registersor other special purpose memory. The device 1100 also may comprise aread only memory (ROM) 1125 or other static storage device for storingstatic information and instructions for the processors 1110. The device1100 may include one or more non-volatile memory elements 1130 for thestorage of certain elements.

Data storage 1120 may also be coupled to the interconnect 1105 of thedevice 1100 for storing information and instructions. The data storage1120 may include a magnetic disk, an optical disc and its correspondingdrive, or other memory device. Such elements may be combined together ormay be separate components, and utilize parts of other elements of thedevice 1100.

The device 1100 may also be coupled via the interconnect 1105 to anoutput display 1140. In some embodiments, the display 1140 may include aliquid crystal display (LCD) or any other display technology, fordisplaying information or content to a user. In some environments, thedisplay 1140 may include a touch-screen that is also utilized as atleast a part of an input device. In some environments, the display 1140may be or may include an audio device, such as a speaker for providingaudio information.

One or more transmitters or receivers 1145 may also be coupled to theinterconnect 1105. In some embodiments, the device 1100 may include oneor more ports 1150 for the reception or transmission of data. The device1100 may further include one or more antennas 1155 for the reception ofdata via radio signals.

The device 1100 may also comprise a power device or system 1160, whichmay comprise a power supply, a battery, a solar cell, a fuel cell, orother system or device for providing or generating power. The powerprovided by the power device or system 1160 may be distributed asrequired to elements of the device 1100.

In some embodiments, the device 1100 includes a touch sensor 1170. Insome embodiments, the touch sensor 1170 includes a plurality ofcapacitive sensor pads 1172. In some embodiments, the touch sensor 1170may further include another sensor or sensors, such as an optical sensor1174.

In the description above, for the purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the present invention. It will be apparent, however, toone skilled in the art that the present invention may be practicedwithout some of these specific details. In other instances, well-knownstructures and devices are shown in block diagram form. There may beintermediate structure between illustrated components. The componentsdescribed or illustrated herein may have additional inputs or outputswhich are not illustrated or described.

Various embodiments may include various processes. These processes maybe performed by hardware components or may be embodied in computerprogram or machine-executable instructions, which may be used to cause ageneral-purpose or special-purpose processor or logic circuitsprogrammed with the instructions to perform the processes.Alternatively, the processes may be performed by a combination ofhardware and software.

Portions of various embodiments may be provided as a computer programproduct, which may include a computer-readable medium having storedthereon computer program instructions, which may be used to program acomputer (or other electronic devices) for execution by one or moreprocessors to perform a process according to certain embodiments. Thecomputer-readable medium may include, but is not limited to, floppydiskettes, optical disks, compact disk read-only memory (CD-ROM), andmagneto-optical disks, read-only memory (ROM), random access memory(RAM), erasable programmable read-only memory (EPROM),electrically-erasable programmable read-only memory (EEPROM), magnet oroptical cards, flash memory, or other type of computer-readable mediumsuitable for storing electronic instructions. Moreover, embodiments mayalso be downloaded as a computer program product, wherein the programmay be transferred from a remote computer to a requesting computer.

Many of the methods are described in their most basic form, butprocesses can be added to or deleted from any of the methods andinformation can be added or subtracted from any of the describedmessages without departing from the basic scope of the presentinvention. It will be apparent to those skilled in the art that manyfurther modifications and adaptations can be made. The particularembodiments are not provided to limit the invention but to illustrateit. The scope of the embodiments of the present invention is not to bedetermined by the specific examples provided above but only by theclaims below.

If it is said that an element “A” is coupled to or with element “B,”element A may be directly coupled to element B or be indirectly coupledthrough, for example, element C. When the specification or claims statethat a component, feature, structure, process, or characteristic A“causes” a component, feature, structure, process, or characteristic B,it means that “A” is at least a partial cause of “B” but that there mayalso be at least one other component, feature, structure, process, orcharacteristic that assists in causing “B.” If the specificationindicates that a component, feature, structure, process, orcharacteristic “may”, “might”, or “could” be included, that particularcomponent, feature, structure, process, or characteristic is notrequired to be included. If the specification or claim refers to “a” or“an” element, this does not mean there is only one of the describedelements.

An embodiment is an implementation or example of the present invention.Reference in the specification to “an embodiment,” “one embodiment,”“some embodiments,” or “other embodiments” means that a particularfeature, structure, or characteristic described in connection with theembodiments is included in at least some embodiments, but notnecessarily all embodiments. The various appearances of “an embodiment,”“one embodiment,” or “some embodiments” are not necessarily allreferring to the same embodiments. It should be appreciated that in theforegoing description of exemplary embodiments of the present invention,various features are sometimes grouped together in a single embodiment,figure, or description thereof for the purpose of streamlining thedisclosure and aiding in the understanding of one or more of the variousinventive aspects. This method of disclosure, however, is not to beinterpreted as reflecting an intention that the claimed inventionrequires more features than are expressly recited in each claim. Rather,as the following claims reflect, inventive aspects lie in less than allfeatures of a single foregoing disclosed embodiment. Thus, the claimsare hereby expressly incorporated into this description, with each claimstanding on its own as a separate embodiment of this invention.

1-12. (canceled)
 13. A mobile device comprising: a touch sensor for thedetection of gestures, the touch sensor including a plurality of sensorelements; and a processor, the processor to interpret the gesturesdetected by the touch sensor; wherein the processor is to identify oneor more dominant actions for an active application or a function of theactive application and is to choose a gesture identification algorithmfrom a plurality of gesture recognition algorithms based at least inpart on identified one or more dominant actions; and wherein theprocessor is to determine a first intended action of a user based on aninterpretation of a first gesture using the chosen gestureidentification algorithm.
 14. The mobile device of claim 13, wherein theprocessor is to choose a different one of the plurality of gestureidentification algorithms for a second application or function.
 15. Themobile device of claim 13, wherein the processor is to choose adifferent one of the plurality of gesture identification algorithms fora second function of the application.
 16. The mobile device of claim 13,wherein the plurality of sensor elements includes a plurality ofcapacitive sensor elements.
 17. The mobile device of claim 16, whereinthe plurality of sensor elements includes an optical sensor.
 18. Amethod comprising: loading an application on a mobile device, the mobiledevice including a touch sensor; identifying one or more dominantactions for the application or a function of the application; choosing agesture identification algorithm of a plurality of gestureidentification algorithms for the one or more dominant actions;detecting a first gesture with the touch sensor; interpreting the firstgesture using the gesture identification algorithm, where interpretingthe first gesture includes determining that a first action correspondsto the first gesture; and implementing the first action in the currentapplication or function.
 19. The method of claim 18, wherein theprocessor is to choose a different one of the plurality of gestureidentification algorithms for a second application or function.
 20. Themethod of claim 18, wherein the processor is to identify a different oneof the plurality of gesture identification algorithms for a secondfunction of the application.
 21. The method of claim 18, whereindetecting the first gesture using the touch sensor includes detecting agesture made by a thumb or finger of a user on the touch sensor. 22-39.(canceled)